package chemtools_logica.BDL.SFBean;

import chemtools_logica.BDL.IL.BDL_SFTipogastoLocal;
import chemtools_logica.BDL.IR.BDL_SFTipogastoRemote;

import chemtools_logica.Entidades.Almacen;
import chemtools_logica.Entidades.Tipogasto;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import javax.ejb.SessionContext;
import javax.ejb.Stateless;

import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@Stateless(name = "BDL_SFTipogasto", mappedName = "map-BDL_SFTipogasto")
public class BDL_SFTipogastoBean implements BDL_SFTipogastoRemote, BDL_SFTipogastoLocal {
    @Resource
    SessionContext sessionContext;
    @PersistenceContext(unitName = "Chemtools_Logica")
    private EntityManager em;

    public BDL_SFTipogastoBean() {
    }

    public Tipogasto persistTipogasto(Tipogasto tipogasto) {
        em.persist(tipogasto);
        return tipogasto;
    }

    public Tipogasto mergeTipogasto(Tipogasto tipogasto) {
        return em.merge(tipogasto);
    }

    public void removeTipogasto(Tipogasto tipogasto) {
        tipogasto = em.find(Tipogasto.class, tipogasto.getIdTipoGasto());
        em.remove(tipogasto);
    }

    /** <code>select o from Tipogasto o</code> */
    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
    public List<Tipogasto> getTipogastoFindAll() {
        return em.createNamedQuery("Tipogasto.findAll", Tipogasto.class).getResultList();
    }
    
    public List<Tipogasto> allTpoGastoActivos(){
        List<Tipogasto> listatGasto = new ArrayList<Tipogasto>();
        String ejbQuery = "SELECT u FROM Tipogasto u " +
                          "WHERE u.estado = 1 " ;
        try{
            Query query = em.createQuery(ejbQuery);
            listatGasto = query.getResultList();
        }catch(Exception e)
        {
            listatGasto = null;
        }
        
        return listatGasto;
    }
}
